Various methods of animating virtual objects within virtual worlds are well-known. Such methods have been employed in generating animations for computer games, films/movies, animation simulators, etc.
The animators who generate these animations (e.g. the developers of computer games who develop software for carrying out an animation during a computer game, or the creators of animations for use in a movie) will wish to control how the animations are performed. However, the level of control which an animator may have over the animation is often less than desired. It would therefore be desirable to be able to improve how control can be applied to a virtual object within a virtual world in order to animate that virtual object (e.g. provide a wider range of control options in order to give an animator or a computer program more flexibility when generating animations).
Additionally, computer-generated animations may sometimes look less than “natural” (i.e. somewhat “robotic”) to a human observer who is used to seeing real-world motion. For example, a human observer is very used to seeing people walking around in the real-world and can therefore detect irregularities in (or unnatural characteristics of) a computer-generated simulation of a person walking. It would therefore be desirable to be able to improve how control can be applied to a virtual object within a virtual world in order to generate more natural-looking, convincing and realistic animations of virtual objects.